In [1]:
import pandas as pd
import plotly.express as px
import plotly.graph_objects as pg
In [2]:
#read the data from the CSV file -- table with 5 rows and 20 columns
data = pd.read_csv("D:\Projects_Unlimited\DataScience_IPL-Analysis\Book_ipl22_ver_33.csv")
print(data.head())
   match_id           date                                         venue  \
0         1  March 26,2022                      Wankhede Stadium, Mumbai   
1         2  March 27,2022                     Brabourne Stadium, Mumbai   
2         3  March 27,2022            Dr DY Patil Sports Academy, Mumbai   
3         4  March 28,2022                      Wankhede Stadium, Mumbai   
4         5  March 29,2022  Maharashtra Cricket Association Stadium,Pune   

       team1      team2  stage toss_winner toss_decision  first_ings_score  \
0    Chennai    Kolkata  Group     Kolkata         Field               131   
1      Delhi     Mumbai  Group       Delhi         Field               177   
2   Banglore     Punjab  Group      Punjab         Field               205   
3    Gujarat    Lucknow  Group     Gujarat         Field               158   
4  Hyderabad  Rajasthan  Group   Hyderabad         Field               210   

   first_ings_wkts  second_ings_score  second_ings_wkts match_winner   won_by  \
0                5                133                 4      Kolkata  Wickets   
1                5                179                 6        Delhi  Wickets   
2                2                208                 5       Punjab  Wickets   
3                6                161                 5      Gujarat  Wickets   
4                6                149                 7    Rajasthan     Runs   

   margin player_of_the_match      top_scorer  highscore      best_bowling  \
0       6         Umesh Yadav        MS Dhoni         50      Dwayne Bravo   
1       4       Kuldeep Yadav    Ishan Kishan         81     Kuldeep Yadav   
2       5         Odean Smith  Faf du Plessis         88    Mohammed Siraj   
3       5      Mohammed Shami    Deepak Hooda         55    Mohammed Shami   
4      61        Sanju Samson   Aiden Markram         57  Yuzvendra Chahal   

  best_bowling_figure  
0               3--20  
1               3--18  
2               2--59  
3               3--25  
4               3--22  
In [3]:
#no. of matches won by each team in IPL 2022 -- bar graph
figure = px.bar(data, x=data["match_winner"],
            title="Number of Matches Won in IPL 2022")
figure.show()
In [4]:
#whether most of the teams win by defending or chasing -- pie chart
data["won_by"] = data["won_by"].map({"Wickets": "Chasing", "Runs": "Defending"})
won_by = data["won_by"].value_counts()
label = won_by.index
counts = won_by.values
colors = ['gold','lightgreen']
fig = pg.Figure(data=[pg.Pie(labels=label, values=counts)])
fig.update_layout(title_text='Number of Matches Won By Defending Or Chasing')
fig.update_traces(hoverinfo='label+percent', textinfo='value', textfont_size=30, marker=dict(colors=colors, line=dict(color='black', width=3)))
fig.show()
In [5]:
#let's see what most teams prefer after winning toss
toss = data["toss_decision"].value_counts()
label = toss.index
counts = toss.values
colors = ['skyblue','yellow']

fig = pg.Figure(data=[pg.Pie(labels=label, values=counts)])
fig.update_layout(title_text='Toss Decision')
fig.update_traces(hoverinfo='label+percent',
                  textinfo='value', textfont_size=30,
                  marker=dict(colors=colors,
                              line=dict(color='black', width=3)))
fig.show()
In [6]:
#let's see the top scorers of most IPL 2022 matches
figure = px.bar(data, x=data["top_scorer"], title="Top Scorers in IPL 2022")
figure.show()
In [7]:
#runs scored by top scorers
figure = px.bar(data, x=data["top_scorer"], y = data["highscore"], color = data["highscore"], title="Top Scorers in IPL 2022")
figure.show()
In [8]:
#most player of the match awards in IPL 2022
figure = px.bar(data, x = data["player_of_the_match"], title="Most Player of the Match Awards")
figure.show()
In [9]:
#let's have a look at the best bowling figures in most of the matches
figure = px.bar(data, x=data["best_bowling"], title="Best Bowlers in IPL 2022")
figure.show()
In [10]:
#know whether most of the wickets fall while setting the target or while chasing the target
figure = pg.Figure()
figure.add_trace(pg.Bar(
    x=data["venue"],
    y=data["first_ings_wkts"],
    name='First Innings Wickets',
    marker_color='gold'
))
figure.add_trace(pg.Bar(
    x=data["venue"],
    y=data["second_ings_wkts"],
    name='Second Innings Wickets',
    marker_color='lightgreen'
))
figure.update_layout(barmode='group', xaxis_tickangle=-45)
figure.show()
In [ ]: